package cn.xorange.commons.utils.codec;

import java.nio.charset.StandardCharsets;

/**
 * @author : yangjian
 * @date : 2023/11/24
 */
public class BaseUtils {
    private BaseUtils(){}

    public static String encodeBase64(byte[] bytes) {
        return cn.hutool.core.codec.Base64.encode(bytes);
    }

    /**
     * Base64编码.
     */
    public static String encodeBase64(String str) {
        return cn.hutool.core.codec.Base64.encode(str.getBytes());
    }

    /**
     * Base64解码.
     */
    public static String decodeBase64(String input) {
        return new String(cn.hutool.core.codec.Base64.decode(input.getBytes()), StandardCharsets.UTF_8);
    }

    /**
     * Base62编码.
     */
    public static String encodeBase62(byte[] bytes) {
        return cn.hutool.core.codec.Base62.encode(bytes);
    }

    /**
     * Base62编码.
     */
    public static String encodeBase62(String str) {
        return cn.hutool.core.codec.Base62.encode(str.getBytes());
    }

    /**
     * Base62解码.
     */
    public static String decodeBase62(String input) {
        return new String(cn.hutool.core.codec.Base62.decode(input.getBytes()), StandardCharsets.UTF_8);
    }

    /**
     * Base32编码.
     */
    public static String encodeBase32(byte[] bytes) {
        return cn.hutool.core.codec.Base32.encode(bytes);
    }

    /**
     * Base32编码.
     */
    public static String encodeBase32(String str) {
        return cn.hutool.core.codec.Base32.encode(str.getBytes());
    }

    /**
     * Base32解码.
     */
    public static String decodeBase32(String input) {
        return new String(cn.hutool.core.codec.Base32.decode(input), StandardCharsets.UTF_8);
    }

}
